home *** CD-ROM | disk | FTP | other *** search
/ ftp.mactech.com 2010 / ftp.mactech.com.tar / ftp.mactech.com / machack / Hacks96 / FlyPaper.sit / Fly Paper / FlyPaper Source / New Sources / ClippingFileData.cpp < prev    next >
Text File  |  1996-06-22  |  2KB  |  82 lines

  1. #ifndef CLIPPINGFILEDATA_H
  2. #include "ClippingFileData.h"
  3. #endif
  4.  
  5. #ifndef ST_MACCLASSES_H
  6. #include "ST_MacClasses.h"
  7. #endif
  8.  
  9. CClippingFileData::CClippingFileData (short refNum)
  10. {
  11.     ST_ResFileSaver            saver = CurResFile ();
  12.     UseResFile (refNum);
  13.     
  14.     fDataHandle = (ClippingDataHandle) Get1Resource (kClippingFileDataResType,
  15.             kClippingFileDataResID);
  16.     if (!fDataHandle)
  17.         throw resNotFound;
  18. }
  19.  
  20. void CClippingFileData::CreateNewClippingFileData (short refNum)
  21. {
  22.     ST_ResFileSaver            saver = CurResFile ();
  23.     UseResFile (refNum);
  24.     
  25.     Handle            dataHandle = Get1Resource (kClippingFileDataResType, kClippingFileDataResID);
  26.     if (dataHandle) {
  27.         RemoveResource (dataHandle);
  28.         UpdateResFile (refNum);
  29.         DisposeHandle (dataHandle);
  30.     }
  31.     
  32.     ClippingDataRec            defaultDataRec;
  33.     
  34.     defaultDataRec.onLeft = true;
  35.     defaultDataRec.offset = 0;
  36.     defaultDataRec.color = 0;
  37.     
  38.     OSErr            error = PtrToHand (&defaultDataRec, &dataHandle, sizeof (defaultDataRec));
  39.     if (error)
  40.         throw error;
  41.  
  42.     AddResource (dataHandle, kClippingFileDataResType, kClippingFileDataResID, "\p");
  43.     error = ResError ();
  44.     if (error)
  45.         throw error;
  46. }
  47.  
  48. CClippingFileData::~CClippingFileData ()
  49. {
  50.     ReleaseResource ((Handle) fDataHandle);
  51. }
  52.  
  53. Boolean CClippingFileData::GetOnLeft ()
  54. {
  55.     return (**fDataHandle).onLeft;
  56. }
  57.  
  58. short CClippingFileData::GetOffset ()
  59. {
  60.     return (**fDataHandle).offset;
  61. }
  62.  
  63. void CClippingFileData::SetOnLeft (Boolean onLeft)
  64. {
  65.     ChangedResource ((Handle) fDataHandle);
  66.     OSErr        error = ResError ();
  67.     if (error)
  68.         throw error;
  69.  
  70.     (**fDataHandle).onLeft = onLeft;
  71. }
  72.  
  73. void CClippingFileData::SetOffset (short offset)
  74. {
  75.     ChangedResource ((Handle) fDataHandle);
  76.     OSErr        error = ResError ();
  77.     if (error)
  78.         throw error;
  79.  
  80.     (**fDataHandle).offset = offset;
  81. }
  82.